package com.xqls.dal.dao;

import com.xqls.dal.model.Company;
import com.xqls.dal.model.CompanyExample;

import java.util.List;
import java.util.Map;

public interface CompanyDao {

	/**
	 * 添加
	 * @param record 企业对象
	 * @return 返回处理结果
	 */
	public boolean insert(Company record);
	
	/**
	 * 修改
	 * @param record 企业对象
	 * @return 返回处理结果
	 */
	public boolean update(Company record);
	
	/**
	 * 根据区块删除对应的企业
	 * @param blockId 区块编号
	 * @return 返回处理结果
	 */
	public boolean deleteByBlockId(Integer blockId);
	
	/**
	 * 批量删除
	 * @param keys 企业编号集合
	 * @return 返回处理结果
	 */
	public boolean deleteList(List<Integer> keys);
	
	/**
	 * 根据主键查询
	 * @param key 企业编号
	 * @return 返回查询结果
	 */
	public Company queryByKey(Integer key);
	
	/**
	 * 根据条件查询
	 * @param example 条件
	 * @return 返回查询集合
	 */
	public List<Company> queryByExample(CompanyExample example);
	
	/**
	 * 根据区块或者设备类型查询
	 * @param map 查询条件map
	 * @return 返回查询集合
	 */
	public List<Map<String, Object>> queryByBlockOrType(Map<String, Object> map);
}
